void DataComandMenu( short cd, short *Nos, array< String^ >^ *Data )
{
short i = 0;
if ( cd < 0 || cd >= ConstMenuMax1 )
{
*Nos = i;
return;
}
for ( i = 0; i < ConstMenuMax2; i++ )
{
if ( wcslen( ConstComandMenu[ cd ][ i ] ) <= 0 ) break;
( *Data )->Resize( ( *Data ), i + 1 );
( *Data )[ i ] = chgmojidata1( ConstComandMenu[ cd ][ i ] );
}
*Nos = i;
}
void DataComandMenu1( short cd, short *Nos, array< String^ >^ *Data, array< String^ >^ *Data1 )
{
short i = 0;
if ( cd < 0 || cd >= ConstMenu1Max1 )
{
*Nos = i;
return;
}
for ( i = 0; i < ConstMenu1Max2; i++ )
{
if ( wcslen( ConstComandMenu1[ cd ][ i ][ 0 ] ) <= 0 ) break;
( *Data )->Resize( ( *Data ), i + 1 );
( *Data )[ i ] = chgmojidata1( ConstComandMenu1[ cd ][ i ][ 0 ] );
( *Data1 )->Resize( ( *Data1 ), i + 1 );
( *Data1 )[ i ] = chgmojidata1( ConstComandMenu1[ cd ][ i ][ 1 ] );
}
*Nos = i;
}
void MenuModeSelect( short code, int CmdCode, String^ CmdName )
{
int CmdCode1;
String^ CmdName1;
short MenuMax;
array< String^ >^ MenuItems;
array< String^ >^ MenuItems1;
short cd;
short fomat;
cd = CmdCode;
Trace::WriteLineIf( debugflg, "( MenuModeSelect : 1 ) Main Mode = " + code + " Suub Mode = " + cd + " Comaannd Name = " + CmdName + "の処理をする。" );
switch ( code )
{
case 0:
switch ( cd )
{
case 0:
break;
case 1:
if ( DataCheck3( ) < 0 ) break;
mode = 1;
cd = 1;
goto MainCase1;
break;
case 2:
MenuItems->Resize( MenuItems, 0 );
MenuItems1->Resize( MenuItems1, 0 );
DataComandMenu1( 0, &MenuMax, &MenuItems, &MenuItems1 );
commandform1( 0, 100, 100, MenuMax, MenuItems, MenuItems1, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase12;
break;
case 3:
mode = 0;
break;
case 4:
break;
default:
break;
}
break;
MainCase1: case 1:
switch ( cd )
{
case 0:
break;
case 1:
if ( statas > 0 ) break;
DrawDataFree( );
DrawDataInit( );
DrawDataInit1( );
if ( NewPaper( ) < 0 ) break;
if ( TitleSet( ) < 0 ) break;
if ( RevSet( ) < 0 ) break;
if ( SegmentModeSet( ) < 0 ) break;
if ( statas >= 5 ) { mode = 2; break; }
if ( SegTypeSet( ) < 0 ) break;
mode = 2;
break;
case 2:
if ( statas < 1 ) break;
if ( TitleSet( ) < 0 ) break;
break;
case 3:
if ( statas < 2 ) break;
if ( RevSet( ) < 0 ) break;
break;
case 4:
if ( statas < 3 ) break;
if ( SegmentModeSet( ) < 0 ) break;
break;
case 5:
if ( statas < 4 ) break;
SegTypeSet( );
statas = 5;
mode = 2;
break;
case 6:
if ( DataCheck( ) < 0 ) break;
InitPicture( );
statas = 0;
mode = 0;
break;
default:
break;
}
break;
case 2:
switch ( cd )
{
case 0:
break;
case 1:
mode = 3;
MenuItems->Resize( MenuItems, 0 );
DataComandMenu( mode, &MenuMax, &MenuItems );
commandform( 0, 100, 100, MenuMax, MenuItems, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase3;
break;
case 2:
mode = 4;
MenuItems->Resize( MenuItems, 0 );
DataComandMenu( mode, &MenuMax, &MenuItems );
commandform( 0, 100, 100, MenuMax, MenuItems, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase4;
break;
case 3:
mode = 5;
MenuItems->Resize( MenuItems, 0 );
DataComandMenu( mode, &MenuMax, &MenuItems );
commandform( 0, 100, 100, MenuMax, MenuItems, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase5;
break;
case 4:
Trace::WriteLineIf( debugflg, "( menuMode2 : 6 - 1 ) cd = " + cd + " " + CmdName + "の処理をする。" );
mode = 6;
MenuItems->Resize( MenuItems, 0 );
DataComandMenu( mode, &MenuMax, &MenuItems );
commandform( 0, 100, 100, MenuMax, MenuItems, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase6;
break;
case 5:
mode = 7;
MenuItems->Resize( MenuItems, 0 );
DataComandMenu( mode, &MenuMax, &MenuItems );
commandform( 0, 100, 100, MenuMax, MenuItems, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase7;
break;
case 6:
mode = 9;
MenuItems->Resize( MenuItems, 0 );
DataComandMenu( mode, &MenuMax, &MenuItems );
commandform( 0, 100, 100, MenuMax, MenuItems, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase9;
break;
case 7:
mode = 10;
MenuItems->Resize( MenuItems, 0 );
DataComandMenu( mode, &MenuMax, &MenuItems );
commandform( 0, 100, 100, MenuMax, MenuItems, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase10;
break;
case 8:
mode = 11;
MenuItems->Resize( MenuItems, 0 );
DataComandMenu( mode, &MenuMax, &MenuItems );
commandform( 0, 100, 100, MenuMax, MenuItems, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase11;
break;
case 9:
mode = 0;
break;
default:
break;
}
break;
MainCase3: case 3:
switch ( cd )
{
case 0:
break;
case 1:
MenuItems->Resize( MenuItems, 0 );
MenuItems1->Resize( MenuItems1, 0 );
DataComandMenu1( 0, &MenuMax, &MenuItems, &MenuItems1 );
commandform1( 0, 100, 100, MenuMax, MenuItems, MenuItems1, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase12;
break;
case 2:
MenuItems->Resize( MenuItems, 0 );
MenuItems1->Resize( MenuItems1, 0 );
DataComandMenu1( 0, &MenuMax, &MenuItems, &MenuItems1 );
commandform1( 0, 100, 100, MenuMax, MenuItems, MenuItems1, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1 + 10;
goto MainCase12;
break;
case 3:
mode = 2;
break;
case 4:
break;
default:
break;
}
break;
MainCase4: case 4:
switch ( cd )
{
case 0:
break;
case 1:
if ( NewPaper( ) < 0 ) return;
break;
case 2:
TitleSet( );
break;
case 3:
RevSet( );
break;
case 4:
mode = 2;
break;
case 5:
break;
default:
break;
}
break;
MainCase5: case 5:
switch ( cd )
{
case 0:
break;
case 1:
SegmentModeSet( );
break;
case 2:
SegTypeSet( );
break;
case 3:
mode = 2;
break;
default:
break;
}
break;
MainCase6: case 6:
switch ( cd )
{
case 0:
break;
case 1:
SegmentDraw1( );
break;
case 2:
SegmentDraw2( );
break;
case 3:
StringDraw( );
break;
case 4:
mode = 8;
MenuItems->Resize( MenuItems, 0 );
DataComandMenu( mode, &MenuMax, &MenuItems );
commandform( 0, 100, 100, MenuMax, MenuItems, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase14;
break;
case 5:
mode = 2;
break;
case 6:
break;
default:
break;
}
break;
MainCase7: case 7:
switch ( cd )
{
case 0:
break;
case 1:
DataEditSeg2( );
break;
case 2:
DataEditSeg1( );
break;
case 3:
mode = 2;
break;
case 4:
break;
case 5:
break;
default:
break;
}
break;
case 8:
switch ( cd )
{
case 0:
mode = 2;
break;
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
break;
case 8:
break;
case 9:
break;
case 10:
break;
default:
break;
}
break;
MainCase9: case 9:
switch ( cd )
{
case 0:
break;
case 1:
UserMainPrg( );
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
mode = 2;
break;
default:
break;
}
break;
MainCase10: case 10:
switch ( cd )
{
case 0:
break;
case 1:
mode = 12;
MenuItems->Resize( MenuItems, 0 );
DataComandMenu( mode, &MenuMax, &MenuItems );
commandform( 0, 100, 100, MenuMax, MenuItems, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase15;
break;
case 2:
FolderSet( os );
break;
case 3:
FontSet( os );
break;
case 4:
ColorSet( os );
break;
case 5:
ZoomSet( os );
break;
case 6:
mode = 13;
MenuItems->Resize( MenuItems, 0 );
DataComandMenu( mode, &MenuMax, &MenuItems );
commandform( 0, 100, 100, MenuMax, MenuItems, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase16;
break;
case 7:
mode = 14;
MenuItems->Resize( MenuItems, 0 );
DataComandMenu( mode, &MenuMax, &MenuItems );
commandform( 0, 100, 100, MenuMax, MenuItems, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase17;
break;
case 8:
DateSet( os );
break;
case 9:
mode = 2;
break;
default:
break;
}
break;
MainCase11: case 11:
switch ( cd )
{
case 0:
break;
case 1:
mode = 13;
MenuItems->Resize( MenuItems, 0 );
MenuItems1->Resize( MenuItems1, 0 );
DataComandMenu1( 1, &MenuMax, &MenuItems, &MenuItems1 );
commandform1( 0, 100, 100, MenuMax, MenuItems, MenuItems1, &CmdCode1, &CmdName1 );
Trace::WriteLineIf( debugflg, " CommandRead ( 1 ) mode = " + mode + " CmdCode = " + CmdCode + " CmdName = " + CmdName );
if ( CmdCode1 < 0 || CmdCode1 >= MenuMax ) break;
cd = CmdCode1;
goto MainCase13;
mode = 2;
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
break;
case 8:
mode = 2;
break;
case 9:
break;
default:
break;
}
break;
MainCase12: case 12:
fomat = ( short )( cd - 1 );
if ( cd >= 10 ) fomat = ( short )( cd - 11 );
switch ( cd )
{
case 0:
break;
case 1:
case 2:
case 3:
case 4:
if ( DataLoad( os, fomat ) < 0 ) { mode = 0; return; }
mode = 2;
break;
case 5:
mode = 0;
break;
case 10:
break;
case 11:
case 12:
case 13:
case 14:
if ( DataSave( os, fomat ) < 0 ) { mode = 3; return; }
mode = 2;
break;
case 15:
mode = 0;
break;
default:
break;
}
break;
MainCase13: case 13:
switch ( cd )
{
case 0:
break;
case 1:
HelpFormOpen( cd );
mode = 11;
break;
case 2:
HelpFormOpen( cd );
mode = 11;
break;
case 3:
mode = 2;
break;
case 4:
mode = 2;
break;
case 5:
mode = 2;
break;
default:
break;
}
break;
MainCase14: case 14:
mode = 6;
switch ( cd )
{
case 0:
break;
case 1:
FramePast( cd );
break;
case 2:
FramePast( cd );
break;
case 3:
FramePast( cd );
break;
case 4:
GraphicDraw( );
break;
case 5:
DataPlotDraw( );
break;
case 6:
PicturePast1( );
break;
case 7:
Seg1Past( );
break;
case 8:
Seg2Past( );
break;
case 9:
Seg3Past( );
break;
case 10:
mode = 2;
break;
default:
break;
}
break;
MainCase15: case 15:
switch ( cd )
{
case 0:
break;
case 1:
FrameDraw( os, cd );
break;
case 2:
FrameDraw( os, cd );
break;
case 3:
FrameDraw( os, cd );
break;
case 4:
Seg1Draw( os, cd - 3 );
break;
case 5:
Seg2Draw( os, cd - 3 );
break;
case 6:
mode = 2;
break;
default:
break;
}
break;
MainCase16: case 16:
switch ( cd )
{
case 0:
break;
case 1:
FilePrint( os );
break;
case 2:
FileChg( os );
break;
case 3:
FileChg1( os );
break;
case 4:
WiringChg( os );;
break;
case 5:
mode = 2;
break;
default:
break;
}
break;
MainCase17: case 17:
switch ( cd )
{
case 0:
break;
case 1:
WiringExec( os );
break;
case 2:
UserExec1( os );
break;
case 3:
UserExec2( os );
break;
case 4:
UserExec3( os );
break;
case 5:
mode = 2;
break;
default:
break;
}
break;
case 18:
break;
case 19:
break;
default:
break;
}
}